/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/*
 * Wizard.java
 *
 * Created on Sep 2, 2010, 10:32:05 PM
 */

package br.upe.ecomp.dosa.view.wizard;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Cursor;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.AbstractListModel;
import javax.swing.DefaultComboBoxModel;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JLabel;
import javax.swing.JList;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSeparator;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.WindowConstants;
import org.jdesktop.layout.GroupLayout;
import org.jdesktop.layout.LayoutStyle;

/**
 *
 * @author rodrigo
 */
public class Wizard extends javax.swing.JDialog {

    /** Creates new form Wizard */
    public Wizard(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        defaultPanel = new JPanel();
        algorithmPanel = new JPanel();
        algorithmComboBox = new JComboBox();
        algorithmLabel = new JLabel();
        algorithmTitleSeparator = new JSeparator();
        algorithmDescriptionScrollPane = new JScrollPane();
        algorithmDescriptionTextArea = new JTextArea();
        jLabel7 = new JLabel();
        jSeparator6 = new JSeparator();
        problemPanel = new JPanel();
        problemComboBox = new JComboBox();
        problemLabel = new JLabel();
        problemTitleSeparator = new JSeparator();
        problemDescriptionScrollPane = new JScrollPane();
        problemDescriptionTextArea = new JTextArea();
        jLabel8 = new JLabel();
        jSeparator7 = new JSeparator();
        stopConditionPanel = new JPanel();
        stopConditionLabel = new JLabel();
        jSeparator3 = new JSeparator();
        jLabel4 = new JLabel();
        stopConditionAvailableScrollPane = new JScrollPane();
        stopConditionAvailableList = new JList();
        stopConditionAddButton = new JButton();
        stopConditionRemoveButton = new JButton();
        stopConditionAddAllButton = new JButton();
        stopConditionRemoveAllButton = new JButton();
        stopConditionSelectedScrollPane = new JScrollPane();
        stopConditionSelectedList = new JList();
        stopConditionUpButton = new JButton();
        stopConditionDownButton = new JButton();
        stopConditionDescriptionScrollPane = new JScrollPane();
        stopConditionDescriptionTextArea = new JTextArea();
        jLabel5 = new JLabel();
        jSeparator4 = new JSeparator();
        jLabel3 = new JLabel();
        measurementPanel = new JPanel();
        measurementLabel = new JLabel();
        jSeparator9 = new JSeparator();
        jLabel10 = new JLabel();
        measurementAvailableScrollPane = new JScrollPane();
        measurementAvailableList = new JList();
        measurementAddButton = new JButton();
        measurementRemoveButton = new JButton();
        measurementAddAllButton = new JButton();
        measurementRemoveAllButton = new JButton();
        measurementSelectedScrollPane = new JScrollPane();
        measurementSelectedList = new JList();
        measurementUpButton = new JButton();
        measurementDownButton = new JButton();
        measurementDescriptionScrollPane = new JScrollPane();
        measurementDescriptionTextArea = new JTextArea();
        jLabel11 = new JLabel();
        jSeparator10 = new JSeparator();
        jLabel12 = new JLabel();
        filePanel = new JPanel();
        fileLabel = new JLabel();
        jSeparator11 = new JSeparator();
        jLabel14 = new JLabel();
        fileNameTextField = new JTextField();
        jLabel15 = new JLabel();
        fileLocationTextField = new JTextField();
        fileBrowseButton = new JButton();
        flowButtonsPanel = new JPanel();
        backButton = new JButton();
        nextButton = new JButton();
        finishButton = new JButton();
        cancelButton = new JButton();

        setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Add Algorithm Wizard");
        setAlwaysOnTop(true);

        defaultPanel.setLayout(new CardLayout());

        algorithmComboBox.setModel(new DefaultComboBoxModel(new String[] { "Algorithm 1", "Algorithm 2", "Algorithm 3", "Algorithm 4" }));

        algorithmLabel.setText("Algorithm");

        algorithmDescriptionScrollPane.setBackground(new Color(153, 153, 153));
        algorithmDescriptionScrollPane.setBorder(null);

        algorithmDescriptionTextArea.setBackground(new Color(238, 238, 238));
        algorithmDescriptionTextArea.setColumns(20);
        algorithmDescriptionTextArea.setEditable(false);
        algorithmDescriptionTextArea.setRows(5);
        algorithmDescriptionTextArea.setText("Algorithm description goes here...");
        algorithmDescriptionTextArea.setWrapStyleWord(true);
        algorithmDescriptionTextArea.setCaretColor(new Color(238, 238, 238));
        algorithmDescriptionTextArea.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        algorithmDescriptionScrollPane.setViewportView(algorithmDescriptionTextArea);

        jLabel7.setText("Description");

        GroupLayout algorithmPanelLayout = new GroupLayout(algorithmPanel);
        algorithmPanel.setLayout(algorithmPanelLayout);
        algorithmPanelLayout.setHorizontalGroup(
            algorithmPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(algorithmPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(algorithmPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(jLabel7)
                    .add(algorithmDescriptionScrollPane, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(jSeparator6, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(algorithmComboBox, 0, 659, Short.MAX_VALUE)
                    .add(algorithmTitleSeparator, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(algorithmLabel))
                .addContainerGap())
        );
        algorithmPanelLayout.setVerticalGroup(
            algorithmPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(algorithmPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(algorithmLabel)
                .add(0, 0, 0)
                .add(algorithmTitleSeparator, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.UNRELATED)
                .add(algorithmComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.RELATED, 191, Short.MAX_VALUE)
                .add(jLabel7)
                .add(0, 0, 0)
                .add(jSeparator6, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .add(0, 0, 0)
                .add(algorithmDescriptionScrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        defaultPanel.add(algorithmPanel, "card2");

        problemComboBox.setModel(new DefaultComboBoxModel(new String[] { "Problem 1", "Problem 2", "Problem 3", "Problem 4" }));

        problemLabel.setText("Problem");

        problemDescriptionScrollPane.setBackground(new Color(153, 153, 153));
        problemDescriptionScrollPane.setBorder(null);

        problemDescriptionTextArea.setBackground(new Color(238, 238, 238));
        problemDescriptionTextArea.setColumns(20);
        problemDescriptionTextArea.setEditable(false);
        problemDescriptionTextArea.setRows(5);
        problemDescriptionTextArea.setText("Problem description goes here...");
        problemDescriptionTextArea.setWrapStyleWord(true);
        problemDescriptionTextArea.setCaretColor(new Color(238, 238, 238));
        problemDescriptionTextArea.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        problemDescriptionScrollPane.setViewportView(problemDescriptionTextArea);

        jLabel8.setText("Description");

        GroupLayout problemPanelLayout = new GroupLayout(problemPanel);
        problemPanel.setLayout(problemPanelLayout);
        problemPanelLayout.setHorizontalGroup(
            problemPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(problemPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(problemPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(jLabel8)
                    .add(problemDescriptionScrollPane, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(jSeparator7, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(problemComboBox, 0, 659, Short.MAX_VALUE)
                    .add(problemTitleSeparator, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(problemLabel))
                .addContainerGap())
        );
        problemPanelLayout.setVerticalGroup(
            problemPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(problemPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(problemLabel)
                .add(0, 0, 0)
                .add(problemTitleSeparator, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.UNRELATED)
                .add(problemComboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.RELATED, 191, Short.MAX_VALUE)
                .add(jLabel8)
                .add(0, 0, 0)
                .add(jSeparator7, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .add(0, 0, 0)
                .add(problemDescriptionScrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        defaultPanel.add(problemPanel, "card3");

        stopConditionLabel.setText("Stop conditions");

        jLabel4.setText("Available:");

        stopConditionAvailableList.setModel(new AbstractListModel() {
            String[] strings = { "Stop condition 1", "Stop condition 2", "Stop condition 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        stopConditionAvailableScrollPane.setViewportView(stopConditionAvailableList);

        stopConditionAddButton.setText("Add >");
        stopConditionAddButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionAddButtonActionPerformed(evt);
            }
        });

        stopConditionRemoveButton.setText("< Remove");
        stopConditionRemoveButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionRemoveButtonActionPerformed(evt);
            }
        });

        stopConditionAddAllButton.setText("Add All >>");
        stopConditionAddAllButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionAddAllButtonActionPerformed(evt);
            }
        });

        stopConditionRemoveAllButton.setText("<< Remoce All");
        stopConditionRemoveAllButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionRemoveAllButtonActionPerformed(evt);
            }
        });

        stopConditionSelectedList.setModel(new AbstractListModel() {
            String[] strings = { "Stop condition 3", "Stop condition 4" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        stopConditionSelectedScrollPane.setViewportView(stopConditionSelectedList);

        stopConditionUpButton.setText("Up");
        stopConditionUpButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionUpButtonActionPerformed(evt);
            }
        });

        stopConditionDownButton.setText("Down");
        stopConditionDownButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                stopConditionDownButtonActionPerformed(evt);
            }
        });

        stopConditionDescriptionScrollPane.setBackground(new Color(153, 153, 153));
        stopConditionDescriptionScrollPane.setBorder(null);

        stopConditionDescriptionTextArea.setBackground(new Color(238, 238, 238));
        stopConditionDescriptionTextArea.setColumns(20);
        stopConditionDescriptionTextArea.setEditable(false);
        stopConditionDescriptionTextArea.setRows(5);
        stopConditionDescriptionTextArea.setText("Stop condition description goes here...");
        stopConditionDescriptionTextArea.setWrapStyleWord(true);
        stopConditionDescriptionTextArea.setCaretColor(new Color(238, 238, 238));
        stopConditionDescriptionTextArea.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        stopConditionDescriptionScrollPane.setViewportView(stopConditionDescriptionTextArea);

        jLabel5.setText("Description");

        jLabel3.setText("Selected:");

        GroupLayout stopConditionPanelLayout = new GroupLayout(stopConditionPanel);
        stopConditionPanel.setLayout(stopConditionPanelLayout);
        stopConditionPanelLayout.setHorizontalGroup(
            stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(stopConditionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(jSeparator3, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(stopConditionLabel)
                    .add(jLabel5)
                    .add(stopConditionDescriptionScrollPane, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(jSeparator4, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(stopConditionPanelLayout.createSequentialGroup()
                        .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
                            .add(stopConditionPanelLayout.createSequentialGroup()
                                .add(stopConditionAvailableScrollPane, GroupLayout.PREFERRED_SIZE, 198, GroupLayout.PREFERRED_SIZE)
                                .add(18, 18, 18)
                                .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING, false)
                                    .add(stopConditionRemoveAllButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(stopConditionRemoveButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(stopConditionAddButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(stopConditionAddAllButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .add(jLabel4))
                        .add(18, 18, 18)
                        .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
                            .add(jLabel3)
                            .add(stopConditionPanelLayout.createSequentialGroup()
                                .add(stopConditionSelectedScrollPane, GroupLayout.PREFERRED_SIZE, 198, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.RELATED)
                                .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING, false)
                                    .add(stopConditionUpButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(stopConditionDownButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
                .addContainerGap())
        );
        stopConditionPanelLayout.setVerticalGroup(
            stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(stopConditionPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(stopConditionLabel)
                .add(0, 0, 0)
                .add(jSeparator3, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jLabel4)
                    .add(jLabel3))
                .addPreferredGap(LayoutStyle.RELATED)
                .add(stopConditionPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(stopConditionAvailableScrollPane, GroupLayout.PREFERRED_SIZE, 158, GroupLayout.PREFERRED_SIZE)
                    .add(stopConditionPanelLayout.createSequentialGroup()
                        .add(stopConditionAddButton)
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(stopConditionRemoveButton)
                        .add(18, 18, 18)
                        .add(stopConditionAddAllButton)
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(stopConditionRemoveAllButton))
                    .add(stopConditionSelectedScrollPane, GroupLayout.PREFERRED_SIZE, 158, GroupLayout.PREFERRED_SIZE)
                    .add(stopConditionPanelLayout.createSequentialGroup()
                        .add(stopConditionUpButton)
                        .addPreferredGap(LayoutStyle.UNRELATED)
                        .add(stopConditionDownButton)))
                .addPreferredGap(LayoutStyle.RELATED, 15, Short.MAX_VALUE)
                .add(jLabel5)
                .add(0, 0, 0)
                .add(jSeparator4, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .add(0, 0, 0)
                .add(stopConditionDescriptionScrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        defaultPanel.add(stopConditionPanel, "card4");

        measurementLabel.setText("Measurements");

        jLabel10.setText("Available:");

        measurementAvailableList.setModel(new AbstractListModel() {
            String[] strings = { "Measurement 3", "Measurement 4", "Measurement 5" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        measurementAvailableScrollPane.setViewportView(measurementAvailableList);

        measurementAddButton.setText("Add >");
        measurementAddButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementAddButtonActionPerformed(evt);
            }
        });

        measurementRemoveButton.setText("< Remove");
        measurementRemoveButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementRemoveButtonActionPerformed(evt);
            }
        });

        measurementAddAllButton.setText("Add All >>");
        measurementAddAllButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementAddAllButtonActionPerformed(evt);
            }
        });

        measurementRemoveAllButton.setText("<< Remoce All");
        measurementRemoveAllButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementRemoveAllButtonActionPerformed(evt);
            }
        });

        measurementSelectedList.setModel(new AbstractListModel() {
            String[] strings = { "Measurement 1", "Measurement 2" };
            public int getSize() { return strings.length; }
            public Object getElementAt(int i) { return strings[i]; }
        });
        measurementSelectedScrollPane.setViewportView(measurementSelectedList);

        measurementUpButton.setText("Up");
        measurementUpButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementUpButtonActionPerformed(evt);
            }
        });

        measurementDownButton.setText("Down");
        measurementDownButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                measurementDownButtonActionPerformed(evt);
            }
        });

        measurementDescriptionScrollPane.setBackground(new Color(153, 153, 153));
        measurementDescriptionScrollPane.setBorder(null);

        measurementDescriptionTextArea.setBackground(new Color(238, 238, 238));
        measurementDescriptionTextArea.setColumns(20);
        measurementDescriptionTextArea.setEditable(false);
        measurementDescriptionTextArea.setRows(5);
        measurementDescriptionTextArea.setText("Measurement description goes here...");
        measurementDescriptionTextArea.setWrapStyleWord(true);
        measurementDescriptionTextArea.setCaretColor(new Color(238, 238, 238));
        measurementDescriptionTextArea.setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
        measurementDescriptionScrollPane.setViewportView(measurementDescriptionTextArea);

        jLabel11.setText("Description");

        jLabel12.setText("Selected:");

        GroupLayout measurementPanelLayout = new GroupLayout(measurementPanel);
        measurementPanel.setLayout(measurementPanelLayout);
        measurementPanelLayout.setHorizontalGroup(
            measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(measurementPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(jSeparator9, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(measurementLabel)
                    .add(jLabel11)
                    .add(measurementDescriptionScrollPane, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(jSeparator10, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(measurementPanelLayout.createSequentialGroup()
                        .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
                            .add(measurementPanelLayout.createSequentialGroup()
                                .add(measurementAvailableScrollPane, GroupLayout.PREFERRED_SIZE, 198, GroupLayout.PREFERRED_SIZE)
                                .add(18, 18, 18)
                                .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING, false)
                                    .add(measurementRemoveAllButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(measurementRemoveButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(measurementAddButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(measurementAddAllButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))
                            .add(jLabel10))
                        .add(18, 18, 18)
                        .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
                            .add(jLabel12)
                            .add(measurementPanelLayout.createSequentialGroup()
                                .add(measurementSelectedScrollPane, GroupLayout.PREFERRED_SIZE, 198, GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(LayoutStyle.RELATED)
                                .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING, false)
                                    .add(measurementUpButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .add(measurementDownButton, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))))
                .addContainerGap())
        );
        measurementPanelLayout.setVerticalGroup(
            measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(measurementPanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(measurementLabel)
                .add(0, 0, 0)
                .add(jSeparator9, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
                .add(18, 18, 18)
                .add(measurementPanelLayout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jLabel10)
                    .add(jLabel12))
                .addPreferredGap(LayoutStyle.RELATED)
                .add(measurementPanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(measurementAvailableScrollPane, GroupLayout.PREFERRED_SIZE, 158, GroupLayout.PREFERRED_SIZE)
                    .add(measurementPanelLayout.createSequentialGroup()
                        .add(measurementAddButton)
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(measurementRemoveButton)
                        .add(18, 18, 18)
                        .add(measurementAddAllButton)
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(measurementRemoveAllButton))
                    .add(measurementSelectedScrollPane, GroupLayout.PREFERRED_SIZE, 158, GroupLayout.PREFERRED_SIZE)
                    .add(measurementPanelLayout.createSequentialGroup()
                        .add(measurementUpButton)
                        .addPreferredGap(LayoutStyle.UNRELATED)
                        .add(measurementDownButton)))
                .addPreferredGap(LayoutStyle.RELATED, 30, Short.MAX_VALUE)
                .add(jLabel11)
                .add(0, 0, 0)
                .add(jSeparator10, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .add(0, 0, 0)
                .add(measurementDescriptionScrollPane, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                .addContainerGap())
        );

        defaultPanel.add(measurementPanel, "card5");

        fileLabel.setText("Name and Location");

        jLabel14.setText("Name:");

        fileNameTextField.setText("ProjectName");
        fileNameTextField.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                fileNameTextFieldActionPerformed(evt);
            }
        });

        jLabel15.setText("Location:");

        fileLocationTextField.setText("/Users/rorigo/Desenvolvimento/");

        fileBrowseButton.setText("Browse");
        fileBrowseButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                fileBrowseButtonActionPerformed(evt);
            }
        });

        GroupLayout filePanelLayout = new GroupLayout(filePanel);
        filePanel.setLayout(filePanelLayout);
        filePanelLayout.setHorizontalGroup(
            filePanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(filePanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(filePanelLayout.createParallelGroup(GroupLayout.LEADING)
                    .add(jSeparator11, GroupLayout.DEFAULT_SIZE, 659, Short.MAX_VALUE)
                    .add(fileLabel)
                    .add(filePanelLayout.createSequentialGroup()
                        .add(filePanelLayout.createParallelGroup(GroupLayout.LEADING)
                            .add(jLabel15)
                            .add(jLabel14))
                        .addPreferredGap(LayoutStyle.RELATED)
                        .add(filePanelLayout.createParallelGroup(GroupLayout.LEADING, false)
                            .add(fileLocationTextField)
                            .add(fileNameTextField, GroupLayout.DEFAULT_SIZE, 429, Short.MAX_VALUE))
                        .addPreferredGap(LayoutStyle.UNRELATED)
                        .add(fileBrowseButton)))
                .addContainerGap())
        );
        filePanelLayout.setVerticalGroup(
            filePanelLayout.createParallelGroup(GroupLayout.LEADING)
            .add(filePanelLayout.createSequentialGroup()
                .addContainerGap()
                .add(fileLabel)
                .add(0, 0, 0)
                .add(jSeparator11, GroupLayout.PREFERRED_SIZE, 10, GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(LayoutStyle.RELATED)
                .add(filePanelLayout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jLabel14)
                    .add(fileNameTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
                .addPreferredGap(LayoutStyle.UNRELATED)
                .add(filePanelLayout.createParallelGroup(GroupLayout.BASELINE)
                    .add(jLabel15)
                    .add(fileLocationTextField, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
                    .add(fileBrowseButton))
                .addContainerGap(274, Short.MAX_VALUE))
        );

        defaultPanel.add(filePanel, "card6");

        getContentPane().add(defaultPanel, BorderLayout.CENTER);

        flowButtonsPanel.setMinimumSize(new Dimension(100, 40));
        flowButtonsPanel.setPreferredSize(new Dimension(508, 40));
        flowButtonsPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));

        backButton.setText("< Back");
        backButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                backButtonActionPerformed(evt);
            }
        });
        flowButtonsPanel.add(backButton);

        nextButton.setText("Next >");
        nextButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                nextButtonActionPerformed(evt);
            }
        });
        flowButtonsPanel.add(nextButton);

        finishButton.setText("Finish");
        finishButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                finishButtonActionPerformed(evt);
            }
        });
        flowButtonsPanel.add(finishButton);

        cancelButton.setText("Cancel");
        cancelButton.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent evt) {
                cancelButtonActionPerformed(evt);
            }
        });
        flowButtonsPanel.add(cancelButton);

        getContentPane().add(flowButtonsPanel, BorderLayout.PAGE_END);

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void backButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_backButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_backButtonActionPerformed

    private void nextButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_nextButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_nextButtonActionPerformed

    private void cancelButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_cancelButtonActionPerformed

    private void fileNameTextFieldActionPerformed(ActionEvent evt) {//GEN-FIRST:event_fileNameTextFieldActionPerformed
        // TODO add your handling code here:
}//GEN-LAST:event_fileNameTextFieldActionPerformed

    private void stopConditionAddButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionAddButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionAddButtonActionPerformed

    private void fileBrowseButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_fileBrowseButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_fileBrowseButtonActionPerformed

    private void measurementUpButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementUpButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementUpButtonActionPerformed

    private void measurementDownButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementDownButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementDownButtonActionPerformed

    private void measurementAddButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementAddButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementAddButtonActionPerformed

    private void measurementRemoveButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementRemoveButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementRemoveButtonActionPerformed

    private void measurementAddAllButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementAddAllButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementAddAllButtonActionPerformed

    private void measurementRemoveAllButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_measurementRemoveAllButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_measurementRemoveAllButtonActionPerformed

    private void stopConditionRemoveButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionRemoveButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionRemoveButtonActionPerformed

    private void stopConditionAddAllButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionAddAllButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionAddAllButtonActionPerformed

    private void stopConditionRemoveAllButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionRemoveAllButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionRemoveAllButtonActionPerformed

    private void stopConditionUpButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionUpButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionUpButtonActionPerformed

    private void stopConditionDownButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_stopConditionDownButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_stopConditionDownButtonActionPerformed

    private void finishButtonActionPerformed(ActionEvent evt) {//GEN-FIRST:event_finishButtonActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_finishButtonActionPerformed

    /**
    * @param args the command line arguments
    */
    public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                Wizard dialog = new Wizard(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    protected JComboBox algorithmComboBox;
    protected JScrollPane algorithmDescriptionScrollPane;
    protected JTextArea algorithmDescriptionTextArea;
    protected JLabel algorithmLabel;
    protected JPanel algorithmPanel;
    protected JSeparator algorithmTitleSeparator;
    protected JButton backButton;
    protected JButton cancelButton;
    protected JPanel defaultPanel;
    protected JButton fileBrowseButton;
    protected JLabel fileLabel;
    protected JTextField fileLocationTextField;
    protected JTextField fileNameTextField;
    protected JPanel filePanel;
    protected JButton finishButton;
    protected JPanel flowButtonsPanel;
    protected JLabel jLabel10;
    protected JLabel jLabel11;
    protected JLabel jLabel12;
    protected JLabel jLabel14;
    protected JLabel jLabel15;
    protected JLabel jLabel3;
    protected JLabel jLabel4;
    protected JLabel jLabel5;
    protected JLabel jLabel7;
    protected JLabel jLabel8;
    protected JSeparator jSeparator10;
    protected JSeparator jSeparator11;
    protected JSeparator jSeparator3;
    protected JSeparator jSeparator4;
    protected JSeparator jSeparator6;
    protected JSeparator jSeparator7;
    protected JSeparator jSeparator9;
    protected JButton measurementAddAllButton;
    protected JButton measurementAddButton;
    protected JList measurementAvailableList;
    protected JScrollPane measurementAvailableScrollPane;
    protected JScrollPane measurementDescriptionScrollPane;
    protected JTextArea measurementDescriptionTextArea;
    protected JButton measurementDownButton;
    protected JLabel measurementLabel;
    protected JPanel measurementPanel;
    protected JButton measurementRemoveAllButton;
    protected JButton measurementRemoveButton;
    protected JList measurementSelectedList;
    protected JScrollPane measurementSelectedScrollPane;
    protected JButton measurementUpButton;
    protected JButton nextButton;
    protected JComboBox problemComboBox;
    protected JScrollPane problemDescriptionScrollPane;
    protected JTextArea problemDescriptionTextArea;
    protected JLabel problemLabel;
    protected JPanel problemPanel;
    protected JSeparator problemTitleSeparator;
    protected JButton stopConditionAddAllButton;
    protected JButton stopConditionAddButton;
    protected JList stopConditionAvailableList;
    protected JScrollPane stopConditionAvailableScrollPane;
    protected JScrollPane stopConditionDescriptionScrollPane;
    protected JTextArea stopConditionDescriptionTextArea;
    protected JButton stopConditionDownButton;
    protected JLabel stopConditionLabel;
    protected JPanel stopConditionPanel;
    protected JButton stopConditionRemoveAllButton;
    protected JButton stopConditionRemoveButton;
    protected JList stopConditionSelectedList;
    protected JScrollPane stopConditionSelectedScrollPane;
    protected JButton stopConditionUpButton;
    // End of variables declaration//GEN-END:variables

}
